Tool Software

企业互联网营销一站式服务专家

网站建设之HTML5:绘制图像并将文本添加到画布元素

网站建设之HTML5:绘制图像并将文本添加到画布元素

在本部分中,我们将回顾绘图图像并在画布上添加文本。

使用JavaScript 的canvas drawImage 函数允许您在定义的画布区域内创建图像对象。所述的drawImage函数包括三个参数,并在形式表示的drawImage(对象图像,浮动的x,浮子Y) 。canvas元素和drawImage函数支持的图像文件格式为.jpg,.gif和.png。为了使绘制图像功能起作用,我们必须设置变量并定义图像对象。对于此示例,我们将其设置为“ img”,如var img = new Image();所示。然后提供图像源,然后是图像加载,以及最终的drawImage函数,其参数定义如下例所示:

//绘制图像功能
var img = new Image();
img.src =“ images / Figure_A.png”;
img.onload = function(){
context.drawImage(img,145,145);
};

生成的画布图像如下所示,如Firefox 3.6所示:

图A

网站建设之HTML5:绘制图像并将文本添加到画布元素

整个代码段显示在这里:

<body onLoad =“ drawCanvas();”>
<!-脚本绘制画布圆并绘制图像->
<脚本>
函数drawCanvas(){
var circle_canvas = document.getElementById(“ canvas”);
var context = circle_canvas.getContext(“ 2d”);
//填充样式
context.fillStyle =“ rgba(93,179,199,0.20)”;
//开始路径
context.beginPath();
//画布形状
context.arc(225,225,115,0,Math.PI * 2,true);
//关闭路径
context.closePath();
//填充形状
context.fill();
//绘制图像功能
var img = new Image();
img.src =“ images / Figure_A.png”;
img.onload = function(){
context.drawImage(img,145,145);
      };
}
</ script>
    <h1>画布示例</ h1>
    <h2>绘制图像功能示例</ h2>
    <!-画布圆圈元素标签->
    <canvas id =“ canvas” width =“ 340” height =“ 340”>
       <!-后备内容->
       <p>很抱歉,您的浏览器目前不支持画布!</ p>
    </ canvas>

新增文字

可以使用字体和文本属性以及几种文本方法来绘制画布文本。该字体属性字符串有一个默认设置10px的,无衬线,并且可以包括任何你通常会一个CSS字体规则中添加。所述textAlign设置属性字符串是自我解释性的,且它有一个缺省值开始,并支持的值:开始,结束,左,右,或中心。该textBaseline IDL属性字符串有一个默认的字母,并支持值:上,挂,中间的字母,表意,或底部。

WHATWG指定与字体对齐点相对应的textBaseline属性的关键字,其中:

  • top对应于em正方形的顶部

  • 悬挂是悬挂的基线

  • 中间是em广场的中间

  • 字母是字母基线

  • 表意是表意基线

  • 底部对应于em正方形的底部

文本方法包括:

  • fillText(字符串文本,float x,float y,[可选] float maxWidth)

  • strokeText(字符串文本,float x,float y,[可选] float maxWidth)

Metrics接口包括measureText(字符串文本),并以当前字体返回给定文本的TextMetrics对象,即metrics = context.measureText(string text)。

一个基本的文本示例包括使用lineWidth来描边粗细的上下文,并使用fillStyle来设置填充的颜色,该样式也可以用于建立渐变设置。笔触的颜色是使用lineStyle设置的;font和fillText 也在下面的JavaScript代码和HTML代码段中显示。

<脚本>
函数drawCanvas(){
  var canvas = document.getElementById(“ canvasText”);
  var context = canvas.getContext('2d');
 //填写文字
context.lineWidth = 1;
context.fillStyle =“#CC00FF”;
context.lineStyle =“#ffff00”;
context.font =“ 18px sans-serif”;
context.fillText(“ Fill Text,18px,sans-serif”,20,20);
}
</ script>
 <h2>画布文字示例</ h2>
 <!-画布元素标签->
   <canvas id =“ canvasText” width =“ 235” height =“ 25”>
     <!-后备内容->
      <p>很抱歉,您的浏览器目前不支持画布!</ p>
    </ canvas>

下面的屏幕截图显示了上述代码在Firefox 3.6中显示的结果。

图B

网站建设之HTML5:绘制图像并将文本添加到画布元素

下一个示例显示使用JavaScript代码的strokeText和下面的结果屏幕截图。

<脚本>
函数drawCanvas(){
  var canvas = document.getElementById(“ canvasText”);
  var context = canvas.getContext('2d');
//描边文字
  context.font =“ 22px verdana”;
  context.strokeText(“ Stroke Text,22px,veranda”,20,50);
}
</ script>

图C

网站建设之HTML5:绘制图像并将文本添加到画布元素

此示例中的字体播放显示了在字体上添加斜体,26px和时间:

<脚本>
函数drawCanvas(){
  var canvas = document.getElementById(“ canvasText”);
  var context = canvas.getContext('2d');
//斜体描边文字
  context.font =“ italic 26px Times”;
  context.strokeText(“ Italic,Stroke,Text,26px,times”,20,85);
}
</ script>

图D

网站建设之HTML5:绘制图像并将文本添加到画布元素

填充笔划文字,在这个例子中,演示了两种情况下fillText方法和strokeText,这意味着该文本必须以相同的x和y坐标绘制两次,因为显示在一段JavaScript代码和相应的截图:

<脚本>
函数drawCanvas(){
  var canvas = document.getElementById(“ canvasText”);
  var context = canvas.getContext('2d');
//填充描边文本
  context.lineWidth = 2;
  context.strokeStyle =“ rgba(35,70,237,.8)”;
  context.font =“ 28pt sans-serif”;
  context.fillText(“ Fill,Stroke Text,28pt,sans-serif”,20,130);
  context.strokeText(“ Fill,Stroke Text,28pt,sans-serif”,20,130);
}
</ script>

图E

网站建设之HTML5:绘制图像并将文本添加到画布元素

阴影文本效果可以使用shadowOffsetX,shadowOffsetY和shadowColor的上下文在画布中呈现,如示例片段和随附的屏幕截图所示:

<脚本>
函数drawCanvas(){
  var canvas = document.getElementById(“ canvasText”);
  var context = canvas.getContext('2d');
//阴影粗体
context.lineWidth = 1;
context.fillStyle =“#0000ff”;
context.strokeStyle =“#880000”;
context.font =“ bold 28pt sans-serif”;
context.shadowOffsetX = 2;
context.shadowOffsetY = -2;
context.shadowColor =“#888888”;
context.fillText(“ Shadow,Bold Text,28pt,sans-serif”,20,180);
}
</ script>

图F

网站建设之HTML5:绘制图像并将文本添加到画布元素

将模糊与上下文shadowBlur一起添加;JavaScript代码段和生成的屏幕截图如下:

<脚本>
函数drawCanvas(){
  var canvas = document.getElementById(“ canvasText”);
  var context = canvas.getContext('2d');
//阴影模糊描边粗体
context.fillStyle =“#5CADE9”;
context.lineStyle =“#5CADE9”;
context.font =“ bold 28pt sans-serif”;
context.shadowOffsetX = 4;
context.shadowOffsetY = 4;
context.shadowBlur = 8;
context.fillText(“ Shadow,Blur,Stroke,Bold Text,28pt”,20,220);
context.strokeText(“ Shadow,Blur,Stroke,Bold Text,28pt”,20,220);
}
</ script>

图G

网站建设之HTML5:绘制图像并将文本添加到画布元素

使用该变量创建 渐变文本,以创建带有两对坐标的线性渐变,形式为createLinearGradient(x1,y1,x2,y2),其中变量设置为var gradient = context.createLinearGradient(5,50,500, 20); 在这个例子中。设置为fillStyle时可以绘制它。在下面的示例中,我们将填充和描边文本与渐变设置结合使用:

<脚本>
函数drawCanvas(){
  var canvas = document.getElementById(“ canvasText”);
  var context = canvas.getContext('2d');
//渐变文字填充和描边
  var gradient = context.createLinearGradient(5,50,500,20);
  gradient.addColorStop(0.1,'#F82E23');
  gradient.addColorStop(0.25,'#E2E651');
  gradient.addColorStop(0.5,'#55D268');
  gradient.addColorStop(0.75,'#5A77DA');
  gradient.addColorStop(1,'#C84489');
  context.fillStyle =梯度;
  context.font =“ bold 36pt sans-serif”;
  context.shadowOffsetX = 5;
  context.shadowOffsetY = 5;
  context.shadowBlur = 10;
  context.fillText(“ Gradient Fill Text”,20,280);
  context.fillStyle ='#000000';
  context.strokeStyle =梯度;
  context.lineWidth = 3;
  context.strokeText(“ Gradient Stroke Text”,20,350);
}
</ script>

图H

网站建设之HTML5:绘制图像并将文本添加到画布元素

表示画布文本的其他方式可以包括在使用上下文mozTextAlongPath函数的路径上,以在圆,线或形状上绘制文本。也可以使用带有createPattern(img,repeat)函数的fillStyle方法将图像图案合并到文本中。


智能会议平板 婚姻出轨调查 ad2流量家 网络营销 天马赛车场 快安盛 香港海华设计 辽秦安家 安居乐业网 旭丽置业 婚姻挽回公司 微信会员积分系统 宿州网 成都网站建设 视频素材 欧纷泰 力盛赛车学校 北京网站优化 一度好数码 智轩云 上海顶伯软件 ChinaETL 花呗分期 上海华森消防